//===============================================================================
// Microsoft patterns & practices
// Web Client Software Factory
//-------------------------------------------------------------------------------
// Copyright (C) Microsoft Corporation.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//-------------------------------------------------------------------------------
// The example companies, organizations, products, domain names,
// e-mail addresses, logos, people, places, and events depicted
// herein are fictitious.  No association with any real company,
// organization, product, domain name, email address, logo, person,
// places, or events is intended or should be inferred.
//===============================================================================
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WCSFContrib.PageFlow.Utils;

namespace WCSFContrib.PageFlow.Tests
{
    [TestClass]
    public class PageFlowHttpModuleFixture
    {
        [TestMethod]
        [ExpectedException(typeof(ArgumentNullException))]
        public void InitThrowsArgumentExceptionWhenContextIsNull()
        {
            PageFlowHttpModule module = new PageFlowHttpModule();

            module.Init(null);
        }

        [TestMethod]
        public void InitLoadsExtensionsHandledByPageHandlerFactoryFromConfig()
        {
            PageFlowHttpModule module = new PageFlowHttpModule();
            System.Web.HttpApplication context = new System.Web.HttpApplication();
            
            HttpRequestHelper.ExtensionsHandledByPageHandlerFactory = new string[0];
            module.Init(context);
            Assert.IsTrue(HttpRequestHelper.ExtensionsHandledByPageHandlerFactory.Length > 0);
        }
    }
}
